

#ifndef CONFIG_H__
#define CONFIG_H__

/*######### Color of various views##########*/
struct color_config{
	gchar codeview_addr_fg[30];
	gchar codeview_addr_bg[30];
	gchar codeview_label_fg[30];
	gchar codeview_label_bg[30];
	gchar codeview_mne_fg[30];
	gchar codeview_mne_bg[30];
	gchar codeview_op1_fg[30];
	gchar codeview_op1_bg[30];
	gchar codeview_op2_fg[30];
	gchar codeview_op2_bg[30];
	gchar codeview_comment_fg[30];
	gchar codeview_comment_bg[30];
	gchar memview_addr_fg[30];
	gchar memview_addr_bg[30];
	gchar memview_data_fg[30];
	gchar memview_data_bg[30];
	gchar ioview_addr_fg[30];
	gchar ioview_addr_bg[30];
	gchar ioview_data_fg[30];
	gchar ioview_data_bg[30];
};

/*############### Font for various views ##############*/
struct font_config{
	gchar codeview_addr_font[50];
	gchar codeview_label_font[50];
	gchar codeview_mne_font[50];
	gchar codeview_op1_font[50];
	gchar codeview_op2_font[50];
	gchar codeview_comment_font[50];
	gchar memview_addr_font[50];
	gchar memview_data_font[50];
	gchar ioview_addr_font[50];
	gchar ioview_data_font[50];
};

/*############# Recent files , style file & opened files ###########*/
struct file_config{
	gchar style[256];
	gchar recent[10][50];
	gchar opened[10][50];
};

/*########### Restore everything as it was before ###########*/
struct value_config{
	gchar memfind[5];
	gchar iofind[3];
	gchar start_address[5];
	gchar flags[13][2];
	gchar reg_2[8][3];
	gchar reg_4[2][5];
	gint port_data[256];
	gint memstart;
	gint memend;
};

/*######### Globals ##################*/
extern struct color_config gsim_colors;
extern struct font_config gsim_fonts;
extern struct file_config gsim_files;
extern struct value_config gsim_values; 
	
/*############# Functions ###############*/
extern gint load_config_file(void);
extern gint make_config_file(void);

#endif /*CONFIG_H__*/
